package com.mofang.ticketing.user.serve.project.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mofang.ticketing.user.mapping.entity.ProjectUserDO;
import com.mofang.ticketing.user.serve.merchant.dto.request.MerchantListPageReqDTO;
import com.mofang.ticketing.user.serve.merchant.dto.response.MerchantListPageRespDTO;
import com.mofang.ticketing.user.serve.merchant.dto.response.MerchantSelectRespDTO;
import com.mofang.ticketing.user.serve.project.dto.request.ProjectListPageReqDTO;
import com.mofang.ticketing.user.serve.project.dto.request.ProjectUserListPageReqDTO;
import com.mofang.ticketing.user.serve.project.dto.response.ProjectListPageRespDTO;
import com.mofang.ticketing.user.serve.project.dto.response.ProjectSelectRespDTO;
import com.mofang.ticketing.user.serve.project.dto.response.ProjectUserListPageRespDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author LGC
 * @date 2023/3/15 14:42
 */
public interface ProjectMapper {

    /**
     * 项目分页列表
     *
     * @param pageParam
     * @param dto
     * @return
     */
    Page<ProjectListPageRespDTO> projectListPage(Page<ProjectListPageRespDTO> pageParam, @Param("dto") ProjectListPageReqDTO dto);

    /**
     * 项目用户分页列表
     *
     * @param pageParam
     * @param dto
     * @return
     */
    Page<ProjectUserListPageRespDTO> projectUserListPage(Page<ProjectUserListPageRespDTO> pageParam, @Param("dto") ProjectUserListPageReqDTO dto);


    /**
     * 所有项目下拉选择
     *
     * @return
     */
    List<ProjectSelectRespDTO> projectSelect();


    /**
     * 获取项目用户
     *
     * @param projectId
     * @return
     */
    List<ProjectUserDO> selectProjectUserList(@Param("projectId") Long projectId);
}
